/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package INTERFAZ;

import CONTROLES.ControlTipoCambio;
import CONTROLES.ControlUsuario;
import MODELOS.TipoCambio;
import MODELOS.Usuario;
import UTILITARIOS.PanelPickFechas;
import UTILITARIOS.StringToDate;
import UTILITARIOS.UTextField;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Date;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.Choice;
import java.util.StringTokenizer;

/**
 *
 * @author Administrador
 */
public class FormTipoCambio extends JDialog implements Propiedades {

    private JPanel titulo;
    private JPanel formulario;
    private JPanel botones;

    private JLabel lblCambioVenta;
    private UTextField txtCambioVenta;

    private JLabel lblCambioCompra;
    private UTextField txtCambioCompra;

    private JLabel lblCambioOficial;
    private UTextField txtCambioOficial;

    private JLabel lblEstado;
    private JCheckBox estado;

    private JButton btnAceptar;
    private JButton btnCancelar;
    
    


    public FormTipoCambio()
    {
       
        setProperties();
        buildComponents();
        setPropertiesComponents();
        addComponents();
        addEvents();
        
    }

    public void setProperties() {
                setSize(600, 290);
                setLayout(new FlowLayout());
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                setTitle("COTIZACION DEL DOLAR");
		setResizable(false);

    }

    public void buildComponents() {

        lblCambioVenta = new JLabel("Dólar para la Venta(*) :", JLabel.RIGHT);
        txtCambioVenta = new UTextField(UTextField.DOUBLE_VALUE);

        lblCambioCompra = new JLabel("Dólar para la Compra(*) : ", JLabel.RIGHT );
        txtCambioCompra = new UTextField(UTextField.DOUBLE_VALUE);

        lblCambioOficial = new JLabel("Dólar Oficial(*) : ", JLabel.RIGHT );
        txtCambioOficial = new UTextField(UTextField.DOUBLE_VALUE);

        lblEstado = new JLabel("Habilitar :", JLabel.RIGHT);
        estado = new JCheckBox("", false);

        titulo = new JPanel();
        formulario = new JPanel();
        botones = new JPanel();

        btnAceptar = new JButton("ACTUALIZAR");
        btnCancelar = new JButton("CANCELAR");
        
    }

    public void setPropertiesComponents() {
        
        
        formulario.setLayout(new FlowLayout());
        formulario.setPreferredSize(new Dimension(540,150));
        formulario.setBorder(BorderFactory.createTitledBorder(null,"DATOS DEL TIPO DE CAMBIO",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION));
        //formulario.setBackground(Color.WHITE);
        botones.setPreferredSize(new Dimension(550, 75));
       //botones.setBackground(Color.WHITE);

        //titulo.setBorder(Herramienta.createTitleBorder("Registro de Usuarios"));
        
        botones.setBorder(BorderFactory.createTitledBorder(null,"ACCIONES",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION));

        Dimension dimLabel = new Dimension(150,20);
	Dimension dimText = new Dimension(270,20);
	Font fontLabel = new Font("Tahoma",Font.PLAIN,12);

                lblCambioVenta.setPreferredSize(dimLabel);
                lblCambioVenta.setFont(fontLabel);
                lblCambioVenta.setForeground(Color.BLACK);
                txtCambioVenta.setPreferredSize(dimText);
                txtCambioVenta.setEnabled(false);
                txtCambioVenta.setBackground(Color.YELLOW);
                
                

                lblCambioCompra.setPreferredSize( dimLabel );
		lblCambioCompra.setFont(fontLabel);
                lblCambioCompra.setForeground(Color.BLACK);
		txtCambioCompra.setPreferredSize( dimText );
                txtCambioCompra.setEnabled(false);
		txtCambioCompra.setBackground(Color.YELLOW);

		lblCambioOficial.setPreferredSize( dimLabel );
		lblCambioOficial.setFont(fontLabel);
                lblCambioOficial.setForeground(Color.BLACK);
		txtCambioOficial.setPreferredSize( dimText );
                txtCambioOficial.setEnabled(false);
                txtCambioOficial.setBackground(Color.YELLOW);

                lblEstado.setPreferredSize( dimLabel );
		lblEstado.setFont(fontLabel);
                lblEstado.setForeground(Color.BLACK);

		botones.setOpaque(false);

		btnAceptar.setToolTipText("guardar cambios");
                btnAceptar.setForeground(Color.BLACK);
		btnCancelar.setToolTipText("Cancelar la operación");
                 btnCancelar.setForeground(Color.BLACK);
                 
		btnAceptar.setMnemonic('a');
		btnCancelar.setMnemonic('c');
               
    }




    public void addComponents() {
        

        formulario.add(lblCambioVenta);
        formulario.add(txtCambioVenta);

        formulario.add(lblCambioCompra);
        formulario.add(txtCambioCompra);

        formulario.add(lblCambioOficial);
        formulario.add(txtCambioOficial);

        formulario.add(lblEstado);
        formulario.add(estado);

        botones.add(btnAceptar);
        botones.add(btnCancelar);
        
        add(formulario);
        add(botones);
        

    }

    public void addEvents() {
       btnAceptar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                            if(gettxtCambioVenta().equalsIgnoreCase("0") || gettxtCambioCompra().equalsIgnoreCase("0") || getTxtCambioOficial().equalsIgnoreCase("0"))
                            {
                                setVisible(false);
                                JOptionPane.showMessageDialog(null, "Se produjo un error, faltan campos por llenar", "Confirmación", JOptionPane.YES_OPTION);
                                setVisible(true);
                            }else{
                                guardar();
                                JOptionPane.showMessageDialog(null, "Los tipos de Cambio se registraron Correctamente ", "Confirmación", JOptionPane.INFORMATION_MESSAGE);
                                dispose();
                                
                                
                                
                            }
                           
			}


		});
                 btnCancelar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				
                            dispose();
			}
		});

                estado.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                if(estado.isSelected()==true)
                {
                    txtCambioCompra.setBackground(Color.WHITE);
                    txtCambioVenta.setBackground(Color.WHITE);
                    txtCambioOficial.setBackground(Color.WHITE);
                    txtCambioCompra.setEnabled(true);
                    txtCambioVenta.setEnabled(true);
                    txtCambioOficial.setEnabled(true);
                }else{
                    txtCambioCompra.setBackground(Color.YELLOW);
                    txtCambioCompra.setEnabled(false);
                    txtCambioVenta.setBackground(Color.YELLOW);
                    txtCambioVenta.setEnabled(false);
                    txtCambioOficial.setBackground(Color.YELLOW);
                    txtCambioOficial.setEnabled(false);
                }
            }
        });

                 


               addWindowListener( new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e) {
                            dispose();
                            //JOptionPane.showMessageDialog(null, "Seguro que quiere salir", "Adventencia", JOptionPane.OK_OPTION);
                                //System.exit(0);
                        }
		});
    }

    private void borrarCampos() {
               settxtCambioCompra("");
               settxtCambioCompra("");
               settxtCambioCompra("");

            }

   

   
    public String gettxtCambioCompra() {
        
        return txtCambioCompra.getText();
    }

    public void settxtCambioCompra(String txtCambioCompra) {
        this.txtCambioCompra.setText(txtCambioCompra);
    }

    public String gettxtCambioVenta() {
        
        return txtCambioVenta.getText();
    }

    public void settxtCambioVenta(String txtCambioCompra) {
        this.txtCambioVenta.setText(txtCambioCompra);
    }

    public String getTxtCambioOficial() {
        return txtCambioOficial.getText();
    }

    public void setTxtCambioOficial(String txtCambioOficial) {
        this.txtCambioOficial.setText(txtCambioOficial);
    }

    public void guardar()
    {
                            TipoCambio tc = new TipoCambio();
                            double tipoVenta = Double.parseDouble(gettxtCambioVenta());
                            double tipoCompra = Double.parseDouble(gettxtCambioCompra());
                            double tipoOficial = Double.parseDouble(getTxtCambioOficial());
                            
                            tc.setTipoCompra(tipoCompra);
                            tc.setTipoOficial(tipoOficial);
                            tc.setTipoVenta(tipoVenta);

                            ControlTipoCambio t = new ControlTipoCambio();
                            t.ActualizarCambio(tc);

                            
                            

    }

   

    public static void main(String args[])
    {
       
         
    }


}
